package com.skt.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.skt.domain.DTO.TenantOrderQueryRequest;
import com.skt.domain.DTO.request.OrderCreateRequest;
import com.skt.domain.PO.RentalOrder;
import com.skt.domain.VO.OrderCreateResultVO;
import com.skt.domain.VO.OrderDetailVO;
import com.skt.result.PageResult;

import javax.validation.Valid;

public interface TenantOrderService extends IService<RentalOrder> {

    /**
     * 创建订单
     * @param createRequest
     * @return
     */
    OrderCreateResultVO createOrder(@Valid OrderCreateRequest createRequest);


    /**
     * 查询订单详情
     * @param orderId
     * @return
     */
    OrderDetailVO getOrderDetail(String orderId);


    /**
     * 查询我的订单列表
     * @param queryRequest
     * @return
     */
    PageResult<OrderDetailVO> getMyOrderList(@Valid TenantOrderQueryRequest queryRequest);


    /**
     * 取消订单
     * @param orderNo
     * @return
     */
    OrderDetailVO cancelOrder(String orderNo);
}
